import {default as UserStoreInstance, UserStore} from "./modules/user";
import {BannerStore, default as BannerStoreInstance} from "./modules/main/banner";
import {BoutiquesStore, default as BoutiquesStoreInstance} from "./modules/main/boutiques";
import {SpecialStore, default as SpecialStoreInstance} from "./modules/main/special";
import ProductStoreInstance, {ProductStore} from "./modules/main/product";
import {CertStore, default as CertStoreInstance} from "./modules/cert";
import {OrderStore, default as OrderStoreInstance} from "./modules/order";
import {IncomeStore, default as IncomeStoreInstance} from "./modules/user/income";
import {TeamStore, default as TeamStoreInstance} from "./modules/user/team";
import {VerifiedStore, default as VerifiedStoreInstance} from "./modules/user/verified";
import {MainStore, default as MainStoreInstance} from "./modules/main";
import {ProductListStore, default as ProductListStoreInstance} from "./modules/main/productList";
import {WithDrawStore, default as WithDrawStoreInstance} from "./modules/user/withDraw";
import {AddressStore, default as AddressStoreInstance} from "./modules/user/address";
import {SearchStore, default as SearchStoreInstance} from "./modules/primary/search";
import {EvaluationStore, default as EvaluationStoreInstance} from "./modules/order/evaluation";
import RealInfoStoreInstance, {RealInfoStore} from "./modules/user/realInfo";
import SignStoreInstance, {SignStore} from "./modules/user/sign";
import CompanyStoreInstance, {CompanyStore} from "./modules/company/company";
import ConfigStoreInstance, {ConfigStore} from "./modules/config";

export interface Store {
    user?: UserStore,
    config?: ConfigStore,
    realInfo?: RealInfoStore,
    sign?: SignStore,
    address?: AddressStore,
    search?: SearchStore,
    banner?: BannerStore,
    boutiques?: BoutiquesStore,
    special?: SpecialStore,
    product?: ProductStore,
    productList?: ProductListStore,
    cert?: CertStore,
    order?: OrderStore,
    company?: CompanyStore,
    income?: IncomeStore,
    verified?: VerifiedStore,
    team?: TeamStore,
    withDraw?: WithDrawStore,
    evaluation?: EvaluationStore,
    main?: MainStore,
}

export const DeepNameSpace = {};
const storeInstance: Store = {
    user: UserStoreInstance,
    sign:SignStoreInstance,
    config: ConfigStoreInstance,
    realInfo: RealInfoStoreInstance,
    search: SearchStoreInstance,
    address: AddressStoreInstance,
    company: CompanyStoreInstance,
    boutiques: BoutiquesStoreInstance,
    special: SpecialStoreInstance,
    banner: BannerStoreInstance,
    evaluation: EvaluationStoreInstance,
    cert: CertStoreInstance,
    order: OrderStoreInstance,
    withDraw: WithDrawStoreInstance,
    productList: ProductListStoreInstance,
    income: IncomeStoreInstance,
    team: TeamStoreInstance,
    verified: VerifiedStoreInstance,
    main: MainStoreInstance,
    product: ProductStoreInstance
};

export default storeInstance;

